package cn.aku.d1_generic;

import java.util.ArrayList;

/*
 本类用于测试泛型的优点
 */
public class Test1_Generic {
    public static void main(String[] args) {
        /* 泛型是怎么来的---模拟数组的数据类型检查*/
        String[] s=new String[5];
        s[0]="猪悟能";
        s[4]="沙悟净";
        /*在编译时期就检查数据*/
        //s[1]=1;

        /*泛型通常与集合一起使用*/
        ArrayList list = new ArrayList();
        //没有泛型，什么数据都能存，太自由
        list.add("孙悟空");
        list.add(123);
        System.out.println(list);

        /*引入泛型，约束集合中元素的类型
        * <type>---type值
        * 需要存放什么引用类型就定义什么引用类型(基本类型除外)
        * 用基本类型的包装类
        * 泛型写在前面，后面的可以省略---编译看左，运行看右
        * */
        ArrayList<Integer> list2 = new ArrayList<>();
        list2.add(12);
        System.out.println(list2);

        //list2.add("发放");编译报错
        //list2.add('c');编译报错



    }
}
